package com.atguigu.seckill.service;

import com.atguigu.seckill.to.SeckillSkuRedisTo;

import java.util.List;

/**
 * @Author ShiJieLin
 * @Date 2022/5/3 16:39
 * @Version 1.0
 */
public interface SeckillService {

    /** 将近三天秒杀的所需的商品
     *  上架到redis
     */
    void uploadSeckillSkuLatest3Days();

    /** 返回符合当前时间的秒杀场次活动
     * @return
     */
    List<SeckillSkuRedisTo> getCurrentSeckillSkus();

    /** 查询当前商品是否参与了秒杀活动
     *  如果有，则返回秒杀信息
     * @param skuId
     * @return
     */
    SeckillSkuRedisTo getSkuSeckilInfo(Long skuId);

    /**
     * 商品进行秒杀(秒杀开始)
     * @param killId 商品的SKuID
     * @param key 防止脚本抢单，加的随机值
     * @param num 购买的数量
     * @return
     */
    String kill(String killId, String key, Integer num);
}
